<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.opendesignstrategies.org/ontology/1.0"
    xmlns = "http://www.opendesignstrategies.org/ontology/1.0"
    xmlns:ods="http://www.opendesignstrategies.org/ontology/1.0"
    ods:schemaLocation="http://www.opendesignstrategies.org/ontology/1.0 govtsanct.xsd"
    elementFormDefault="qualified">

    <ods:element name="property">
        <ods:complexType>
            <ods:simpleContent>
                <ods:attribute name="tag" type="string" />
            </ods:simpleContent>
        </ods:complexType>
        <ods:complexType>
            <ods:sequence>
                <ods:element name="label" type="string" />
                <ods:element name="desc" type="string" />
                <ods:element name="classification" type="ods:class_type" />
                <ods:element name="domain" type="ods:domain_type" />
                <ods:element name="range" type="string" />
                <ods:element name="oid">
                    <ods:complexType>
                        <ods:simpleContent>
                            <ods:extension type="string">
                                <ods:attribute name="id"></ods:attribute>
                            </ods:extension>
                        </ods:simpleContent>
                    </ods:complexType>
                </ods:element>
                <ods:element name="relationship">
                    <ods:complexType>
                        <ods:simpleContent>
                            <ods:extension type="string">
                                <ods:attribute type="ods:relationship_type"></ods:attribute>
                            </ods:extension>
                        </ods:simpleContent>
                    </ods:complexType>
                </ods:element>
            </ods:sequence>
        </ods:complexType>
    </ods:element>
      
    <simpleType name="class_type">
        <restriction base="string">
            <enumeration value="structural"></enumeration>
            <enumeration value="logical"></enumeration>
            <enumeration value="reasoning"></enumeration>
            <enumeration value="naming"></enumeration>
            <enumeration value="syntactic"></enumeration>
        </restriction>
    </simpleType>
    
    <!-- Synonym: similar word -->
    <!-- antonym: opposite word -->
    <!-- hyponym: Y is hyponym of X if every Y is a kind of X -->
    <!-- hypernym: reverse of hyponym -->
    <!-- coordinate: Y is a coordinate of X if X and Y share common hypernym -->
    <!-- holonym: contains -->
    <!-- meronym: is part of -->
    <!-- toponym: if activity X is done in some matter/form/variant of Y -->
    <!-- entailment: if by doing X you must be doing Y -->
    <simpleType name="relationship_type">
        <restriction base="string">
            <enumeration value="synonym"></enumeration>
            <enumeration value="antonym"></enumeration>
            <enumeration value="hyponym"></enumeration>
            <enumeration value="hypernym"></enumeration>
            <enumeration value="coordinate"></enumeration>
            <enumeration value="holonym"></enumeration>
            <enumeration value="meronym"></enumeration>
            <enumeration value="troponym"></enumeration>
            <enumeration value="entailment"></enumeration>
        </restriction>
    </simpleType>
    
    <simpleType name="domain_type">
        <restriction base="string">
            <enumeration value="thing" />
            <enumeration value="concept" />
            <enumeration value="action" />
            <enumeration value="description" />
            <enumeration value="place" />
            <enumeration value="entity" />
            <enumeration value="social" />
            <enumeration value="situation" />
            <enumeration value="event" />
        </restriction>
    </simpleType>

  
</schema>